User Configuration File for Access Control for Embedded Resources

ABSTRACT

Multimedia content is featured on user pages of an online social network using embed codes that are generated using a configuration file associated with the source ID for the multimedia content and a content ID for the multimedia content. The configuration file, the source ID and the content ID are stored locally by the online social network so that any changes to the embed codes can be made by changing the configuration file associated with the source and regenerating the embed codes. By managing multimedia content in this manner, greater control can be exercised by the online social network over the multimedia content that are featured on its user pages.

PRIORITY

This application is a continuation under 35 U.S.C. §120 of U.S. patentapplication Ser. No. 13/178271, filed Jul. 7, 2011, which is acontinuation application under 35 U.S.C. §120 of U.S. patent applicationSer. No. 12/719793 filed Mar. 8, 2010, which is a continuation under 35U.S.C. §120 of U.S. patent application Ser. No. 11/682678 filed Mar. 6,2007, now U.S. Pat. No. 7680882, which issued on Mar. 16, 2010.

TECHNICAL FIELD

The present invention generally relates to processing of online socialnetwork data, and more particularly, to a method and system for managingmultimedia content appearing on user pages of an online social network.

BACKGROUND

Over the past several years, the amount of multimedia content availableonline has increased dramatically. With access to cheap storage andhigher bandwidths, photo sharing sites and video sharing sites havebecome widely used. Sharing personal photos with families and friendsthrough one of these photo sharing sites is now commonplace. Theexplosion in video sharing is not so much attributable to the sharing ofpersonal video created by the user but the sharing of video created byanother person that the user finds particularly funny, interesting orinformative.

Video sharing is often done through e-mail. Typically, after viewing avideo, the user inputs e-mail addresses of those persons with whom theuser would like to share the video. In response, the video sharing sitesends an e-mail to such persons with a hyperlink to the video. Theperson receiving the e-mail can access the hyperlink to view the videoand share the video with other persons in the same manner. Videoviewership can increase very rapidly in this manner.

A less intrusive way of sharing video is through a profile or landingpage a user maintains at an online social network. When a user finds avideo that is particularly funny, interesting or informative, the userfeatures that video on his or her landing page at the online socialnetwork. As people visit the user's landing page at the online socialnetwork, they can watch the video from the user's landing page althoughthe actual video feed is from a third party source.

As more and more users at online social networks feature videos andother multimedia content on their landing pages, the task of managingthem has become a challenge to online social networks. One major reasonfor the difficulty in managing such multimedia content is that much ofit are not stored locally by the online social networks but are streamedfrom servers that host the multimedia content when they are accessed forviewing

SUMMARY OF PARTICULAR EMBODIMENTS

The present invention provides a method and system for managingmultimedia content that appear on various user pages of an online socialnetwork. According to embodiments of the present invention, whenmultimedia content from a third party source is selected by a user to befeatured on his or her profile or landing page, source ID and content IDcorresponding to the featured multimedia content are stored locally in adatabase managed by the online social network, and an embed code foraccessing the featured multimedia content is generated using the sourceID and the content ID. The source ID is an identifier of the third partysource of the multimedia content and is associated with a configurationfile that is used in generating the embed code. The content ID is anidentifier for the multimedia content used by the third party source andis used as an input parameter when generating the embed code with theconfiguration file.

By managing multimedia content in accordance with embodiments of thepresent invention, greater control can be exercised by the online socialnetwork over the multimedia content that are featured in the landingpages of its users. For example, inappropriate content can be filteredeasily by searching for the source ID and content ID corresponding tothe inappropriate content and flagging them so that the embed code forsuch content will not be generated. Blocking an entire site is eveneasier. It just requires a change to the configuration filecorresponding to that site so that a web page displaying a message suchas “Access to the URL ****.com is not permitted.” can be generated inplace of the embed code. As another example, invalid links that arecaused by URL changes implemented by the source of the multimediacontent can be fixed easily by making the appropriate correction to suchsource's configuration file. After the correction is made to theconfiguration file, all embed codes generated using this configuration,file will have the correct URL.

A first embodiment of the present invention is directed to a method forgenerating a web page, e.g., a landing page of a user of an onlinesocial network, that includes a multimedia section in which multimediacontent from a third party source can be displayed. The method includesthe steps of receiving a user selection of multimedia content of a thirdparty source that is to be added to the multimedia section, storing asource ID associated with the third party source, storing a content IDassociated with the multimedia content, generating an embed code for themultimedia content using the source ID and the content ID, andgenerating the web page including the multimedia section using the embedcode. The embed code may be generated by executing a configuration fileassociated with the source ID, wherein the configuration file specifiesthe format of the embed code and the location of the third party source(e.g., its URL) associated with the source ID.

A second embodiment of the present invention is directed to a method forgenerating a web page for a user of the online social network, e.g., theuser's landing page, based on third party multimedia content aggregatedby other users of the online social network. The method includes thesteps of retrieving source IDs and content IDs of multimedia contentaggregated by other users of the online social network, selecting atleast one multimedia content aggregated by the other users of the onlinesocial network, generating an embed code for the selected multimediacontent using its source ID and the content ID, and generating the webpage using the embed code. The embed code may be generated by executinga configuration file associated with the source ID, wherein theconfiguration file specifies the format of the embed code and thelocation of the third party source associated with the source ID. Themultimedia content may be selected based on its popularity with otherusers of the online social network who are related to the user of theonline social network by N degrees of separation or less.

A third embodiment of the present invention is directed to a web servercomputer for an online social network. The web server computer includesa local database that stores content for a plurality of users of theonline social network, the content for each of the users includingprofile information and pointers to third party multimedia content, anda processing unit that is programmed to generate a landing page for eachof the users with the profile information and at least one pointer tothird party multimedia content. Each of the pointers to third partymultimedia content includes a source ID associated with a source of thethird party multimedia content and a content ID associated with thethird party multimedia content, and the landing page includes an embedcode for the third party multimedia content that is generated using thesource ID and the content ID.

BRIEF DESCRIPTION OF THE DRAWINGS

So that the manner in which the above recited features of the presentinvention can be understood in detail, a more particular description ofthe invention, briefly summarized above, may be had by reference toembodiments, some of which are illustrated in the appended drawings. Itis to be noted, however, that the appended drawings illustrate onlytypical embodiments of this invention and are therefore not to beconsidered limiting of its scope, for the invention may admit to otherequally effective embodiments.

FIG. 1 is a diagram that graphically represents the relationshipsbetween users of an online social network;

FIG. 2 is a block diagram illustrating components of a system formanaging an online social network and connections to this system from athird party server and client computers;

FIG. 3 is a schematic illustration of an example of a landing page for aparticular user and external content sources for the landing page;

FIG. 4 is a schematic illustration of a user landing page that has beengenerated in accordance with an embodiment of the present invention;

FIG. 5 is a flow diagram that illustrates the steps carried out togenerate a web page that includes embed codes for multimedia content;and

FIG. 6 is a schematic illustration of a user landing page that has beengenerated in accordance with another embodiment of the presentinvention.

DESCRIPTION OF EXAMPLE EMBODIMENTS

FIG. 1 is a graph representation of a social network centered on a givenindividual (ME). Other users of this social network include A-U whoseposition, relative to ME's, is referred to by the degree of separationbetween ME and each other user. Friends of ME, which includes A, B, andC, are separated from ME by one degree of separation (1 d/s). A friendof a friend of ME is separated from ME by 2 d/s. As shown, D, E, F, G,and H are each separated from ME by 2 d/s. A friend of a friend of afriend of ME is separated from ME by 3 d/s. FIG. 1 depicts all nodesseparated from ME by more than 3 degrees of separation as belonging tothe category ALL.

Degrees of separation in a social network are defined relative to anindividual. For example, in ME's social network, H and ME are separatedby 2 d/s, whereas in G's social network, H and G are separated by only 1d/s. Accordingly, each individual will have their own set of first,second and third degree relationships.

As those skilled in the art understand, an individual's social networkmay be extended to include nodes to an Nth degree of separation. As thenumber of degrees increases beyond three, however, the number of nodestypically grows at an explosive rate and quickly begins to mirror theALL set.

FIG. 2 is a block diagram illustrating a system 250 for creating andmanaging an online social network. The system 250 represents one exampleembodiment of a system for creating and managing an online socialnetwork, and includes an application server 251 and one or more graphservers 252. As known in the art, a server is a computer having aprocessing unit and system memory that is programmed to carry outcertain functions. The system 250 is connected to a network 260, e.g.,the Internet, and accessible over the network by a plurality of remotecomputers (only three of which are shown), collectively designated as270, and a third party server 280 that manage its user database 285 andcommunicate with the system 250 through an application programminginterface (API) 290 provided by the system 250. The system 250 isconnected to other third party servers (some of which communicate withthe system 250 through APIs provided by the system 250) but, forsimplicity, they are not shown in FIG. 2.

The application server 251 manages a user database 254, a relationshipdatabase 255, a search database 256, and other databases 257 . The userdatabase 254 contains profile information for each of the user in theonline social network managed by the system 250. The profile informationmay include, among other things: a unique user identifier (user ID),name, age, gender, location, hometown, references to image files,listing of interests, attributes, and the like. The user database 254also contains information about groups (e.g., organizations, schoolalumni associations, family, etc.) that users have defined. The groupinformation may include, among other things: a unique group identifier(group ID), name, description of the group, and members of the group.The relationship database 255 stores for each user, the user IDs of allusers with whom the user has a direct relationship, i.e., direct friendsof the user who are users of the online social network. In addition, thecontents of the user database 254 are indexed and optimized for search,and stored in the search database 256. The other databases 257 mayinclude a multimedia content database and a database for storingtestimonials and various other information commonly stored in onlinesocial networks and communities. The user database 254, the relationshipdatabase 255, the search database 256, and the other databases 257 areupdated to reflect inputs of new user information and edits of existinguser information that are made through the remote computers 270.

The application server 251 also manages the information exchangerequests that it receives from the remote computers 270 over theInternet. The graph servers 252 receive a query from the applicationserver 251, process the query and return the query results to theapplication server 251. The graph servers 252 manage a representation ofthe social network for all users in the member database. The graphservers 252 have a dedicated memory device 253, such as a random accessmemory (RAM), in which an adjacency list that indicates all first degreerelationships in the social network is stored. The graph servers 252respond to requests from application server 251 to identifyrelationships and the degree of separation between users of the onlinesocial network. The application server 251 is further configured toreceive data feeds, e.g., RSS feeds, from a third party server 280through an application programming interface (API) 290 that thirdparties may use to send data to the application server 251 for storagein one of the databases managed by the application server 251.

In the embodiments of the present invention described below, users arerespectively operating the remote computers 270 that are programmed toexecute web browser programs, and access the web pages managed by theapplication server 251 using the web browser programs. The web pagesthat are displayed to a user are transmitted from the application server251 to that user's remote computer and processed by the web browserprogram stored in that user's remote computer for display through themonitor of that user's remote computer.

FIG. 3 schematically illustrates a web page that functions as a profileor landing page for a particular user in an online social network andexternal content sources for the landing page. This landing page can beaccessed several ways. First, it can be accessed from within the onlinesocial network by the user when the user logs into the online socialnetwork and navigates to this web page or by other users who clicks on auser ID or an image associated with this user. Second, it can beaccessed directly by typing in the associated URL into a web browser.Third, this page may be opened up to web crawlers of search engines andaccessed when a user clicks on a search result that is hyperlinked tothis page.

The web page shown in FIG. 3 includes multiple sections that containdifferent categories of content associated with the user. The user'sprofile information is provided in section 310. A list of the user'sfriends in the online social network and hyperlinks to their landingpages are provided in section 315. Section 320 displays the user's blog.In this example, the user is maintaining a blog at an external web site361, e.g., Xanga.com, and the content of his or her blog is suppliedfrom the external web site using an RSS feed. In a similar manner, thecontent of the user's pictures that is displayed in section 330 issupplied from an external web site 362 (e.g., Flickr) using an RSS feed,and the content of the user's videos that is displayed in section 340 issupplied from an external web site 363 (e.g., YouTube) using an RSSfeed.

As a way to minimize the number of times an external web site isaccessed for the necessary RSS feeds, all RSS feeds from external websites are stored in a cache storage unit 350. All RSS feeds are alsoassigned a minimum lifetime and a maximum lifetime. When a landing pageof a user is accessed and the landing page contains sections that relyon RSS feeds, the lifetime of each such RSS feed is checked. If it isbelow its minimum lifetime, the last cached version of the RSS feed isaccessed. If it has exceeded the minimum lifetime, a query is issued tothe external web site for the latest information. On a global basis,whenever an RSS feed reaches its maximum lifetime, a query is issued tothe external web site for the latest information.

The query that is issued to an external web site for content associatedwith a user includes the user ID and password of that user as proof thataccess to the user's account maintained by the external web site isauthorized. The user ID and password are provided by the user when theuser sets up his or her landing page to retrieve content from externalweb sites through RSS feeds. The issued query is kept hidden at the userlevel and preferably encoded or encrypted so that the user ID andpassword contained in the query can be kept confidential.

FIG. 4 schematically illustrates a user landing page that has beengenerated in accordance with an embodiment of the present invention. Theweb page depicted in FIG. 4 is the same as the web page depicted in FIG.3 except that the user video section is generated differently. In theembodiment of FIG. 4, the videos that are featured in section 440 arenot stored in the cache storage unit 350 but are streamed in from anexternal, third party source. Thus, when a user clicks on a videothumbnail image 441, 442, or 443 to view the video, the video is notsupplied from the cache storage unit 350 but is streamed directly from acorresponding one of external video sites 451, 452, 453. The directstreaming from the external video sites 451, 452, 453 is enabled usingembed codes having the following general format:

<embed src=“http://video site.com/vid.swf?id=12345”></embed>.

The embed codes that enable direct streaming from the external videosites 451, 452, 453 are typically made available by the external videosites 451, 452, 453 for pasting into the HTML file corresponding to auser's landing page, such as the one shown in FIG. 4. The process mayeven be automated so that the embed code is automatically pasted intothe HTML file corresponding to a user's landing page. This would occur,for example, when a user visits an external video site, views a video atthe external video site, and indicates that he or she would like to addthe video to his or her landing page at an online social network.

In the embodiments of the present invention, embed codes for video filesare generated from a source ID (which identifies the external source ofthe video file) and a content ID (which is an identifier of the videofile used by the external source) using configuration files having thefollowing general format:

videosite=<embed src=“http://videosite.com/vid.swf?id=%ID%”></embed>.

The parameter “% ID %” signifies a variable field into which the contentID is inserted. The source ID points to the configuration file to use,because different configuration files are provided for differentexternal video sites. For example, each of videosite1, videosite2 andvideosite3 has its own configuration file, as shown below:

videosite1=<embed src=“http://videosite1.com/vid.swf?id=%ID%”></embed>videosite2=<embed src=“http://videosite2.com/vid.swf?id=%ID%”></embed>videosite3=<embed src=“http://videosite3.com/vid.swf?id=%ID%”></embed>

As an example, if the source ID=“videosite3” and the content ID=“51515”for a video file, the embed code corresponding to that video file wouldbe generated as:

<embed src=“http://videosite3.com/vid.swf?id=51515”></embed>.

FIG. 5 is a flow diagram that illustrates the steps carried out togenerate an HTML file that includes embed codes for the user's videos.In the flow diagram of FIG. 5, steps 510-518 are carried out by theserver computer of the external video site and steps 520-524 are carriedout by the server computer of the online social network. Referring backto FIG. 2, the server computer of the online social network correspondsto the system 250 and the server computer of the external video sitecorresponds to the third party server 250 connected to a database 285and configured with an API 290 that is provided by the online socialnetwork.

In step 510, the user navigates to an external video site and selects avideo for viewing. In response to this selection, the video is streamedto the user's computer and displayed to the user (step 512). The user'sdisplay includes a hyperlink “Post to Friendster.” This hyperlinkpermits the user to feature this video on the user's landing page at theonline social network, Friendster. In step 514, the user selects thehyperlink “Post to Friendster.” In response to this selection, the useris prompted in step 516 for user ID and password corresponding to theuser's account at the online social network. Upon submission of thisinformation, the external video site transmits this information alongwith the particulars of the video file, such as the source ID (whichidentifies the external video site that is hosting the video file) andthe content ID (which is an identifier of the video file used by theexternal video site) to the online social network, and various otherdata (step 518). Steps 516 and 518 are carried out using the API 290provided by the online social network.

In step 520, the online social network authenticates the user ID againstthe password using the information stored in its user database. If theuser ID is authenticated, i.e., the password matches the password forthe user ID stored in the user database, the particulars of the videofile are stored in the multimedia content database of the online socialnetwork along with the user ID (step 522). The following tableconceptually illustrates the arrangement of the data that is stored inthe multimedia content database.

User ID Source ID Content ID Thumbnail Tags Description Williamvideosite1 12345 video1.jpg funny, A compilation showing a number dogsof funny dog tricks. William videosite2 12345 video2.jpg tennis Anincredible shot executed by Roger Federer. William videosite3 51515video3.jpg food, Hot dog eating contest held in contest Honolulu, HI in2006. Jeff videosite2 33221 video4.jpg soccer A compilation ofincredible soccer moments.

In the table shown above, each row represents data associated with asingle video file. “Source ID” indicates the external video site that ishosting this video file and identifies the configuration file to be usedin generating the embed code for this video file. “Content ID” indicatesthe unique ID used by the external video site to identify this videofile and is used as an input parameter when generating the embed codefor this video file. “Thumbnail” indicates the memory location of thethumbnail image corresponding to this video file. One or more entriesunder “Tags” indicate descriptive keywords associated with this videofile. The entry under “Description” provides a brief description of thecontent of this video file. The particulars of the video file that aretransmitted from the external video site to the online social networkare controlled by the API 290.

When a landing page of a user, such as the one shown in FIG. 4, isgenerated, it is generated from an HTML file corresponding to thelanding page that is stored in the cache storage unit 350. This HTMLfile includes embed codes corresponding to any third party video that isfeatured by the user in section 440. In step 524, the embed codescorresponding to the featured third party videos are generated andinserted into the HTML file corresponding to user's landing page. Duringthis generation step, the multimedia content database is checked forvideo file entries associated with the user that has an update flag set(i.e., equal to 1). For all video file entries that meet theseconditions, the embed code corresponding to such entries will begenerated using a configuration file identified by that entry's sourceID and inserted into the HTML file corresponding to the user's landingpage. After the generation step is carried out for the user, the updateflag of all video file entries of the user is set to 0.

The generation step may be carried out on-the-fly each time the landingpage of the user is requested. It is, however, preferable to carry outthe generation step according to a predetermined schedule so as toconserve computational resources. For example, the generation step isnot carried out when none of the video file entries associated with theuser's landing page has an update flag that is equal to 1, but iscarried out when there is at least one video file entry with an updateflag that is equal to 1.

When a user selects a third party video for viewing from a web pagewithin the online social network (e.g., a landing page of another useror a video search page), the user may watch the third party video at theweb page within the online social network without navigating to thethird party's web site. When the user does this, a hyperlink “Add toProfile” appears alongside the video display. This hyperlink permits theuser to feature the video he or she is watching on the user's landingpage. In response to this selection, the source ID, the content ID, andthe particulars of this video file are stored in the multimedia contentdatabase of the online social network along with the user ID of thisuser.

FIG. 6 schematically illustrates a user landing page that has beengenerated in accordance with another embodiment of the presentinvention. The web page depicted in FIG. 6 is the same as the web pagedepicted in FIG. 4 except it has an additional section 610 that featuresone or more videos 611 that have been determined to be popular withother users of the online social network who are related to the user byN degrees of separation or less, where N is typically 1 or 2 but can beany positive integer. The videos 611 that are featured in section 610are generated in the same manner as the videos that are featured insection 440. The differences between the featured videos in section 610and the featured videos in section 440 are: (1) the featured location onthe landing page, and (2) the decision criteria that are used by theonline social network in determining whether or not to feature thevideo.

In the simplest implementation, a single video is featured in section610 and this video represents the video that is the most popular withfirst degree friends of the user (i.e., those users who are one degreeof separation away). The popularity may be based on their adoption (mostoften added to a landing page) or their viewership (most often viewed),or a combination of the two. When two or more videos are featured insection 610, the videos may be featured in the order of their rank withonly the top N videos featured (where N can be any plural integer).

In an alternative implementation, a video's popularity with all users ofthe online social network, up to a predetermined degree of separation(e.g., 2, 3, or N), is considered. In this implementation, the video'spopularity with first degree friends may be weighted more than thevideo's popularity with second degree friends, and the video'spopularity with second degree friends may be weighted more than thevideo's popularity with third degree friends, and so forth.

By managing multimedia content in accordance with embodiments of thepresent invention described above, greater control can be exercised bythe online social network over the multimedia content that are featuredin the landing pages of its users. For example, inappropriate multimediacontent can be filtered easily by searching for the source ID andcontent ID corresponding to the inappropriate multimedia content in themultimedia content database and flagging them so that the next time auser page that features such multimedia content is accessed, the embedcode for such multimedia content will not be inserted into that userpage.

As another example, an entire site can be blocked. Assuming the sourceID for the site to be blocked is videosite4, this can be done bymodifying the configuration file associated with that site from:

video site4=<embedsrc=“http://videosite4.com/vid.swf?id=%ID%”></embed>to:videosite4=<p>Access to the URL videosite4.com is not permitted.</p>

Invalid links that are caused by URL changes implemented by the sourceof the multimedia content also can be fixed easily with the embodimentsof the present invention. For example, if the source of the multimediacontent (source ID=videosite5) changes the URL for accessing its videosfrom

videosite5.com/vid.swf?id=xxxtovideosite5.com/en/v.swf?id=xxx,the configuration file for videosite5 is changed in a similar mannerfrom:videosite5=<embed src=“http://videosite5.com/vid.swf?id=%ID%”></embed>to:videosite5=<embed src=“http://videosite5.com/en/v.swf?id=%ID%”></embed>

After this change is made to the configuration file, all video fileentries having source ID=videosite5 will have their update flags set to1 so as to cause embed codes for all multimedia content from videosite5to be regenerated when user pages that feature such multimedia contentis subsequently accessed.

In the embodiments of the present invention described above, RSS feedsare described as the mechanism for transmitting content between thethird party servers and the server computer of the online socialnetwork. Other types of web feeds may be employed with the presentinvention. Some of these examples include atom feeds and feeds based onthe SOAP protocol. Also, the embed codes shown above are HTML embedcodes. The present invention is, however, not limited to any particulartype of embed codes, and may be practiced with embed codes for anymarkup language for creation of web pages.

In addition, in the embodiments of the present invention describedabove, video content that includes video and audio is provided as anexample of the multimedia content. In general, multimedia is media thatuses multiple forms of information content, and multimedia content ismedia content that includes multiple forms of information content.

While particular embodiments according to the invention have beenillustrated and described above, those skilled in the art understandthat the invention can take a variety of forms and embodiments withinthe scope of the appended claims.

What is claimed is:
 1. A method comprising, by a computing device:receiving a request for a web page, the web page comprising an item ofdigital content embedded therein; generating, in response to therequest, an embed code for the item of digital content; and controllingaccess to the item of digital content via the web page based on theembed code.
 2. The method of claim 1, further comprising: storing acontent identifier associated with the item of digital content and asource identifier associated with a third party source of the item ofdigital content, wherein the source identifier maps to a configurationfile.
 3. The method of claim 2, wherein controlling access to the itemof digital content via the web page based on the embed code comprises:flagging the source identifier and the content identifier to preventgeneration of the embed code for the item of digital content to blockaccess to the item of digital content via the web page.
 4. The method ofclaim 2, wherein the content identifier and the source identifier areassociated with a page identifier associated with the web page inresponse to interaction by a user.
 5. The method of claim 4, wherein thepage identifier associated with the web page is a user identifiercorresponding to the user.
 6. The method of claim 5, wherein the webpage is a profile page associated with the user.
 7. The method of claim2, further comprising: receiving, from a user, a selection of a seconditem of digital content hosted by a second third party source to add toa second web page; and adding a second content identifier associatedwith the second item of digital content and a second source identifierassociated with the second third party source to a data structure inassociation with a second page identifier associated with the second webpage.
 8. The method of claim 7, further comprising authenticating theuser prior to adding the second content identifier and the second sourceidentifier to the data structure.
 9. The method of claim 7, furthercomprising generating a second configuration file that maps to thesecond source identifier for the second third party source, wherein thesecond configuration file specifies embed code and has a variable fieldinto which a content identifier is inserted.
 10. The method of claim 1,wherein generating the embed code for the item of digital contentcomprises generating the embed code using a configuration fileassociated with a third party source, wherein the configuration filespecifies embed code and has a variable field into which a contentidentifier is inserted.
 11. The method of claim 10, wherein controllingaccess to the item of digital content via the web page based on theembed code comprises: modifying the configuration file to block accessto the item of digital content via the web page.
 12. The method of claim10, wherein the embed code comprises a domain name associated with thethird party source, and wherein generating the embed code comprisesinserting the content identifier of the item of digital content into thevariable field; and inserting the embed code in the web page.
 13. Themethod of claim 1, further comprising generating the web page includingthe embed code.
 14. The method of claim 13, wherein the embed code isoperative to cause a client application to retrieve the item of digitalcontent from the third party source.
 15. The method of claim 1, whereinthe item of digital content is a digital video.
 16. The method of claim1, wherein the embed code comprises HTML code.
 17. The method of claim1, further comprising: accessing a social graph comprising a pluralityof nodes and a plurality of edges connecting the nodes, each of one ormore of the nodes being associated with one of a plurality of users ofan online social network, each connection between two nodes representinga relationship between them and establishing a single degree ofseparation between them; and wherein the request for the web page isreceived from a client system associated with a first user of an onlinesocial network, the first user being associated with a first node of theplurality of nodes.
 18. The method of claim 1, wherein the web page is aprofile page associated with a second user of the online social network.19. A system comprising: one or more processors; and a memory coupled tothe processors comprising instructions executable by the processors, theprocessors operable when executing the instructions to: receive arequest for a web page, the web page comprising an item of digitalcontent embedded therein; generate, in response to the request, an embedcode for the item of digital content; and control access to the item ofdigital content via the web page based on the embed code.
 20. One ormore computer-readable non-transitory storage media embodying softwarethat is operable when executed to: receive a request for a web page, theweb page comprising an item of digital content embedded therein;generate, in response to the request, an embed code for the item ofdigital content; and control access to the item of digital content viathe web page based on the embed code.